import request from '@/utils/http'
import { responeeOfPatientType, AddOrUpdateUser, responeeOfPatient } from './type'

enum API {
  // 获取就诊人列表
  PATIENT_URL = '/user/patient/auth/findAll',
  // 添加就诊人
  PATIENT_SAVE_URL = '/user/patient/auth/save',
  // 更新就诊人
  PATIENT_UPDATE_URL = '/user/patient/auth/update',
  // 删除就诊人
  PATIET_DELETE_URL = '/user/patient/auth/remove',
  // 获取就诊人信息
  PATIET_INFO_URL = '/user/patient/auth/get',
}

/**
 * 获取就诊人列表
 */
export const toObtainListOfPatientAPI = () => {
  return request<any, responeeOfPatientType>({
    url: API.PATIENT_URL,
  })
}

/**
 * 新增与修改就诊人
 *
 * @param data {AddOrUpdateUser} 参数
 */
export const addOrUpdatePatientAPI = (data: AddOrUpdateUser) => {
  return request({
    url: data.id ? API.PATIENT_UPDATE_URL : API.PATIENT_SAVE_URL,
    method: data.id ? 'PUT' : 'POST',
    data,
  })
}

/**
 * 删除就诊人
 *
 * @param id { long} 就诊人 id
 */
export const deletePatientAPI = (id: string | number) => {
  return request({
    url: API.PATIET_DELETE_URL + `/${id}`,
    method: 'DELETE',
  })
}

/**
 * 获取就诊人信息
 *
 * @param id { string | number } 就诊人id
 */
export const getPatientAPI = (id: string | number) => {
  return request<any, responeeOfPatient>({
    url: API.PATIET_INFO_URL + `/${id}`,
  })
}
